package com.pactera.madp.cp.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pactera.madp.common.core.util.R;
import com.pactera.madp.cp.api.dto.corp.CorpDto;
import com.pactera.madp.cp.api.entity.CorpEntity;

import java.util.List;

/**
 * @author: yangpengwei
 * @time: 2021/3/17 2:08 下午
 * @description 企业服务类
 */
public interface ICorpService extends IService<CorpEntity> {

    /**
     * 通过id查询企业
     * @param corpId
     * @return
     */
    CorpEntity getCorpInfoById(Integer corpId);

    /**
     * 通过企业微信id查询
     * @param wxCorpId
     * @return
     */
    CorpEntity getCorpByWxCorpId(String wxCorpId);

    /**
     * 获取用户所在企业列表
     * @param userId
     * @return
     */
    List<CorpEntity> getCorpListById(Integer userId);

    /**
     * 创建企业
     * @param corpDto
     * @return
     */
    R createCorp(CorpDto corpDto);

    /**
     * 更新企业信息
     * @param corpEntity
     * @return
     */
    boolean updateCorpByCorpId(CorpEntity corpEntity);

    /**
     * 登录用户绑定企业信息
     * @return
     */
    R bindCorp();

    /**
     * 默认企业设置
     * @param corpId
     * @return
     */
    R defaultCorp(Integer corpId);

    List<CorpEntity> getCorpIds(String clStr);

    /**
     * 企业分页查询
     * @param page
     * @return
     */
    R getCorpPageList(Page page);

    List<CorpEntity> getCorps(String id);

    /**
     *  根据企业微信id获取微信消息推送应用id
     * @param wxCorpId
     * @return
     */
    Integer getWxSendMsgAgentIdByWxCorpId(String wxCorpId);

}
